/*
之所以叫冒泡排序是因为使用这种排序算法排序时,
数据值会像气泡一样从数组的一端漂 浮到另一端。
假设正在将一组数字按照升序排列,较大的值会浮动到数组的右侧,
而较小 的值则会浮动到数组的左侧。之所以会产生这种现象是因为算法会多次在数组中移动,
比 较相邻的数据,当左侧值大于右侧值时将它们进行互换。
*/
var arr = new Array(72, 54, 59, 30, 31, 78, 2, 77, 82, 72);
var tmp, minIndex, flag;
print("排序前：\n" + arr.toString());
print("\n 排序后：\n");
var len = arr.length;
for (var i = 0; i <= len-2; i++) {  // 每次取一个元素跟余下的元素比较
	//  本算法最核心的就在 j > i 这个判断
	//  每执行一次外层循环，遍历的范围缩小1，而不是从0开始
	for (var j = len-1; j > i; j--) {
		if (arr[i] > arr[j]) {
			tmp = arr[j];
			arr[j] = arr[i];
			arr[i] = tmp;
		}
	}

	print(arr.toString());
}
